package demo04.Supplier;

import java.util.function.Supplier;

/*
    常用的函数式接口
    java.util.function.Supplier<T>接口仅包含一个无参的方法：T get()。用来获取一个泛型参数指定类型的对象数据。

    Supplier<T>接口称为生产型接口，指定接口的泛型是什么类型，接口中的get方法就会生产什么类型的数据

 */
public class Demo01Supplier {
    //定义一个方法，参数传递Supplier<T>接口，泛型执行String，get方法就会返回一个String
    public static String getString(Supplier<String> supplier) {
        return supplier.get();
    }

    public static void main(String[] args) {
        //调用getString 方法，方法的参数是一个函数式接口，所以可以使用lambda表达式
/*        String returnString = getString(() -> {
            String s1 = "张三";
            System.out.println(s1);
            return s1;
        });
        System.out.println("returnString:"+returnString);*/
        String s = getString(() -> "张三");
        System.out.println(s);


    }
}
